<template>
  <el-breadcrumb class="app-breadcrumb" separator=">">
    <!-- <transition-group name="breadcrumb"> -->
    <el-breadcrumb-item v-for="item in levelList" :key="item.path" :to="toPath(item)">
      {{ item.meta.title }}
      <!-- <el-breadcrumb-item v-for="(item,index) in levelList.slice(0,levelList.length-1)" :key="item.path"> -->
      <!-- <span v-if="item.redirect === 'noRedirect' || index == levelList.length - 1" class="no-redirect">{{ item.meta.title }}</span>
        <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a> -->
    </el-breadcrumb-item>
    <!-- </transition-group> -->
  </el-breadcrumb>
</template>

<script>
export default {
  data() {
    return {
      levelList: []
    }
  },
  watch: {
    $route(route) {
      console.log(route.matched)
      console.log(route)
      // if you go to the redirect page, do not update the breadcrumbs
      // if (route.path.startsWith('/redirect/')) {
      //   return
      // }
      this.getBreadcrumb()
    }
  },
  created() {
    this.getBreadcrumb()
  },
  methods: {
    getBreadcrumb() {
      // only show routes with meta.title
      const matched = this.$route.matched.filter(item => {
        if (item.path) {
          if (item.meta && item.meta.title) {
            return item
          }
        }
      })
      // const first = matched[0]
      // if (!this.isDashboard(first) && this.$store.state.user.userInfo.userType !== '01') {
      //   matched = [{ path: '/index', meta: { title: '首页' }}].concat(matched)
      // }
      // this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
      this.levelList = matched
    },
    toPath(item) {
      console.log(item)
      if (item.path === this.$route.path) {
        return ''
      }
      if (item.meta.noCache) {
        return item.path
      } else {
        return ''
      }
    }
    // isDashboard(route) {
    //   const name = route && route.name
    //   if (!name) {
    //     return false
    //   }
    //   return name.trim() === 'Index'
    // },
    // handleLink(item) {
    //   const { redirect, path } = item
    //   if (redirect) {
    //     this.$router.push(redirect)
    //     return
    //   }
    //   this.$router.push(path)
    // }
  }
}
</script>

